package com.dxf.chepter10

/**
 * 高阶函数:
 *    能够接受函数的函数
 *
 *    ==========================
 *
 *    高阶函数 返回一个函数
 *
 *
 *
 */
object T126_高阶函数 {

  def main(args: Array[String]): Unit = {

    println(test(sum, 10))

    // minusxy(5) 返回 匿名 函数  a =  (y:Int) =>x -y
    //a(6) 调用匿名函数
    println(minusxy(5)(6))

    //分步执行
   var f1 = minusxy(5) // f1 =   (y:Int) =>5 -y
    var result = f1(6) // 5-6 =-1


  }

  def test(f1: Double => Double, n1: Double) = {
    f1(n1)
   // 1
  }


  def sum(d: Double): Double = {
    d + d
  }


  def minusxy(x:Int)={
    (y:Int) =>x -y
  }
}
